Method of caching teletext page data, teletext receiver system and television set

ABSTRACT

A method of caching teletext page data in a memory unit ( 21 ) of a teletext receiver system, comprises receiving and storing in the memory unit ( 21 ) data representing a sequence of teletext pages embedded in a signal belonging to a first one of a plurality of channels; and subsequently receiving and storing in the memory unit ( 21 ) data representing a sequence of teletext pages embedded in a signal belonging to a further one of the plurality of channels, whilst keeping at least some of the previously stored teletext page data stored in the memory unit ( 21 ), wherein for each received teletext page, it is determined whether the memory unit ( 21 ) has capacity available for storing the received teletext page data representing the received teletext page, and for each stored teletext page, information is stored associating the stored teletext page data representing the page with the channel to which the signal in which that teletext page data was embedded belongs. The method is characterised by, upon determining that the memory unit has insufficient capacity, substituting the teletext page data representing the received teletext page data with page for teletext page data associated with at least one different channel.

The invention relates to a method of caching teletext page data in amemory unit of a teletext receiver system, comprising

-   -   receiving and storing in the memory unit data representing a        sequence of teletext pages embedded in a signal belonging to a        first one of a plurality of channels; and    -   subsequently receiving and storing in the memory unit data        representing a sequence of teletext pages embedded in a signal        belonging to a further one of the plurality of channels, whilst        keeping at least some of the previously stored teletext page        data stored in the memory unit,        wherein for each received teletext page, it is determined        whether the memory unit has capacity available for storing the        received teletext page data representing the received teletext        page, and for each stored teletext page, information is stored        associating the stored teletext page data representing the page        with the channel to which the signal in which that teletext page        data was embedded belongs.

The invention also relates to a teletext receiver system, comprising acontroller and a memory unit arranged to receive data representingteletext pages from an arrangement of a channel selection circuit and ateletext data acquisition circuit.

The invention also relates to a television set, comprising a controllerand a memory unit arranged to receive data representing teletext pagesfrom an arrangement of a channel selection circuit and a teletext dataacquisition circuit.

The invention further relates to a computer program.

An embodiment of a method, teletext receiver system and television setof the type mentioned above is known from JP-A-2000050219. In the knownembodiment, the channel number is input as a channel selection signalfrom a keyboard and while supplying the control signal which tunes inthe channel number to a channel selection circuit through amicrocomputer, the channel sign of the channel number one is added andmemorized to the program data header and page data header of characterprogram data of the channel number one, which is read into a buffermemory and memorized. Next, the channel number two is tuned in and thechannel sign of the channel number two is attached and memorized to thecharacter program data for the channel number two at the aforementionedbuffer memory. Thus, in case data is read from the buffer memory forpresentation, by having added the channel sign into each characterprogram data when the character program data of two or more channelswere memorized by the buffer memory, read-out of the character programdata of a desired channel becomes possible by carrying out thespecification input of a channel sign and the program number. When thestorage region of buffer memory becomes insufficient, one can alwaysupdate to the newest character program data by rewriting the oldestcharacter program data in the storage region of buffer memory.

A problem of the known method and system is that the oldest characterprogram data can belong to a character program of the channel beingwatched and can therefore not be read from cache if required by theuser, even though the fact that the channel to which it belongs makes itlikely that it will be required.

It is an object of the invention to provide a method, teletext receiversystem, television set and computer program of the types mentionedabove, which decrease page retrieval latency after a channel switch.

This object is achieved by the method according to the invention, whichis characterised by, upon determining that the memory unit hasinsufficient capacity, substituting the teletext page data representingthe received teletext page for teletext page data associated with atleast one different channel.

Because, after a channel switch, at least some of the previously storedteletext page data is kept stored in the memory unit, a subsequentswitch back to the previous channel does not necessarily imply that theteletext page data representing each of the pages belonging to thatchannel need be written to the memory unit again. This substantiallyreduces the latency in comparison with systems in which the entirecontents of the memory unit are erased after each channel switch.However, because, if the memory unit becomes too full to store newlyreceived teletext page data embedded in the current channel, teletextpage data associated with at least one different channel is replaced, asmuch of the teletext page data associated with the channel currentlyselected by the user is kept in the memory unit. This has the advantageof providing quick access to the pages most likely to be desired.

A preferred embodiment of the method according to the inventioncomprises receiving a user-initiated command requesting a desiredteletext page, and using the stored information associating the teletextpage data with a channel to search for the teletext page datarepresenting the desired teletext page in the teletext page dataassociated with the channel to which the signal belongs in whichteletext page data currently being received was embedded.

Thus, the retrieval of the teletext page data representing the desiredteletext page is accelerated.

Preferably, the method comprises storing information reflecting at leastone usage statistic for at least each channel associated with teletextpage data stored in the memory unit and selecting the teletext page datafor which the teletext page data representing the received teletext pageis substituted on the basis of the stored information reflecting theusage statistics.

Thus, it is possible to make a distinction between relevant and not sorelevant teletext pages for which data is stored in the memory unit, therelevant ones being kept cached longest.

A preferred embodiment of this variant updating the at least one usagestatistic whenever teletext page data associated with the channel isread from the memory unit.

In this manner, the teletext page data representing the most relevant ofthe pages is kept cached in the memory unit. As reading out a page isdone when it is desired by a viewer, one of the most pertinentstatistics is used to decide which page to keep cached longest.

Preferably, the usage statistics comprise information enablingestablishment of a ranking of all of the pages encoded by teletext pagedata stored in the memory unit, based on a most recent time of transferin a pre-determined direction of the teletext page data representingeach page across an interface of the memory unit.

The statistic may thus reflect either the time the teletext page datawas written to the memory unit or the time it was last read from thememory unit. The latter variant is preferred, because it is indicativeof the viewer's use of the teletext page rather than the frequency atwhich the teletext page data representing the page is updated.

Alternatively or additionally, the teletext page data is received froman arrangement of a channel selection circuit and a teletext dataacquisition circuit, and the usage statistics for each channel compriseinformation representative of how often the channel has been selected.

Thus, the usage statistics indicate the relevance of the teletext pageconcerned to the particular user of the teletext receiver system inwhich this embodiment of the invention is employed, as determined by thenumber of times the channel is selected

In a preferred embodiment of the method, in which both types of usagestatistic are employed, at least part of the teletext page data forwhich the teletext page data representing the received teletext page issubstituted is the least recently transferred teletext page dataassociated with the least often selected channel and selected on thebasis of the stored information reflecting the usage statistics.

Thus, the teletext page data representing the teletext page likely to beof least relevance to the user is removed from the memory unit to makeroom for the latest received teletext page data.

In another embodiment of the method according to the invention, theteletext page data is received from an arrangement of a channelselection circuit and a teletext data acquisition circuit, and the usagestatistics for each channel comprise information enabling establishmentof a ranking of channels according to a most recent time of selection ofeach channel.

This embodiment allows statistics to be compiled that allow a fasteradaptation to changing preferences.

In a preferred variant of this embodiment, at least part of the teletextpage data for which the teletext page data representing the receivedteletext page is substituted is selected from among teletext page datastored in the memory unit and associated with a channel other than amost recently selected of the channels associated with teletext pagedata stored in the memory unit, preferably the least recently selected.

This embodiment is especially useful for use in television receiverswith a feature for switching to the channel being watched before thecurrent channel using a single command (e.g. pressing a single button ona remote control unit). With this variant, it is ensured thatreplacement of teletext page data associated with the channel beingwatched before the current channel is deferred as much as possible.Thus, not only can the viewer switch to the channel being watched beforethe current channel, but the teletext page data associated with thatchannel can almost certainly also be retrieved from cache without anylatency being experienced.

According to another aspect of the invention, there is provided ateletext receiver system, comprising a controller and a memory unitarranged to receive data representing teletext pages from an arrangementof a channel selection circuit and a teletext data acquisition circuit,which teletext receiver system is arranged to carry out a methodaccording to the invention.

According to another aspect of the invention, there is provided atelevision set, comprising a controller and a memory unit arranged toreceive data representing teletext pages from an arrangement of achannel selection circuit and a teletext data acquisition circuit, whichteletext receiver system is arranged to carry out a method according tothe invention.

According to another aspect of the invention, there is provided acomputer program, capable, when run on a computer arranged to receivedata representing teletext pages from an arrangement of a channelselection circuit and a teletext data acquisition circuit, of enablingthe computer to carry out a method according to the invention.

The invention will now be explained in further detail with reference tothe accompanying drawings, of which:

FIG. 1 shows an exemplary block diagram illustrating a televisionequipped to implement the invention;

FIG. 2 shows schematically the organisation of data stored in a memoryunit of the television of FIG. 1; and

FIG. 3 is a flow chart illustrating an embodiment of the invention.

In the television system schematically shown in FIG. 1, aradio-frequency signal is received at an input 1 of a televisionreceiver. The received signal passes through an RF amplifier 2 to atuning circuit 3. The tuning circuit 3 tunes to a specific carrierfrequency, associated with a television channel. Thus, the tuningcircuit 3 retrieves a signal belonging to that channel, i.e. selects asignal belonging to one of a plurality of channels. The output signal ofthe tuning circuit 3 is passed to a demodulation circuit 4. thedemodulation circuit separates video, audio and teletext components fromthe carrier signal. A colour decoder 5 retrieves and processes the videocomponent. A teletext data acquisition circuit 6 retrieves teletext pagedata.

The television system is controlled by a microcontroller 7, whichexecutes instructions stored in a Read Only Memory 8 of a known type.The microcontroller further has access to a non-volatile memory 9, forstoring data that must not be erased when the television system's poweris turned off. Commands and data are transferred between themicrocontroller 7 and the various components operating under its controlvia a bus 10, for example an I²C bus.

A user of the television system enters commands via a remote control(not shown), which exchanges data with a remote control interfacecircuit 11. The commands are passed to the microcontroller 7 via the bus10.

One command the viewer may enter, is a command to change channels. Thiscommand results in a command from the microcontroller 7 to the tuner 3directing it to tune to a different frequency. A number of channels canbe pre-set. To this end, a channel list 12 (see FIG. 2) is stored in thenon-volatile memory 9. The channel list 12 is shown conceptually in FIG.2 as a table, in which a first column 13 contains an index into thetable, i.e. the number of the pre-set channel. A second column 14contains the tuning information. Information in a third column 15 isused to manage the caching of teletext page data, as will be explainedbelow.

Returning to FIG. 1, when teletext is not being viewed, the output ofthe colour decoder 5 is passed to a multiplexer 16, which passes itunaltered to a video amplifier 17 driving a video display unit 18. Thelatter may be a cathode ray tube or a plasma display for instance. Whena viewer elects to view teletext pages, an appropriate signal isgenerated by a display section 19 decoding teletext page data loadedinto a teletext memory 20. The output generated by the display sectionis used by the multiplexer 16 to replace part (in the case of subtitles)or all of the video signal provided by the colour decoder 5.

Teletext page data is transmitted in a carrousel, implying that acertain amount of time elapses between the receipt of teletext page datarepresenting a first page and that representing a further page. In orderto be able to provide a faster response to a viewer-initiated commandselecting a specific page, the television system comprises a teletextpage data cache 21. If a request for a specific page is received throughthe remote control interface circuit 11, the teletext page data cache 21is searched for the page. If it is found, it is transferred to theteletext memory 20. If not, the teletext page data representing therequested page will have to be provided from the teletext dataacquisition circuit 6, as soon as it has been provided by the tuningcircuit 3 and demodulation circuit 4.

It will be appreciated that, if the tuner is set to a differentfrequency, i.e. a different channel is selected, it may take some whilefor the teletext page data cache 21 to fill with page data belonging tothe newly selected channel. In the system presented here, this latencyis reduced by keeping at least some of the previously stored teletextpage data stored in the teletext page data cache 21 upon a channelchange. Thus, it is possible to switch back again to the previouschannel and access at least some of the teletext pages belonging to thisprevious channel without experiencing any latency.

Teletext page data belonging to a plurality of different channels maythus be present in the teletext page data cache 21 at any one time.Therefore, information associating the cached teletext page data withthe channel to which the signal in which that teletext page data wasembedded belongs, is also memorised. This information may be stored inthe non-volatile memory 9 in the shape of a table linking channels toentries (e.g. memory address ranges) in the teletext page data cache 21.Alternatively, as is shown in FIG. 2, a channel tag 22 is added to eachunit of teletext page data 23 representing a teletext page. The channeltag 22 allows pages with the same page number but belonging to differentchannels to be stored in the teletext page data cache 21.

Additionally, each stored unit of teletext page data 23 representing apage in the teletext page data cache 21 is tagged with time stampinformation 24. When the teletext page data 23 is first written to theteletext page data cache 21, the value encoded in the time stampinformation 24 is zero. The time stamp information 24 is one type ofusage statistic, used to manage the caching of teletext page data insuch a way that efficient use is made of the capacity offered by theteletext page data cache 21. In this context, the term statistic is usedto denote a numerical data item that allows a channel or teletext pageto be ranked relative to the other channels or teletext pages for whichteletext page data is stored in the teletext page data cache 21. Theusage statistic may refer both to usage in the sense of access (i.e.transfer to or from the teletext page data cache 21) to teletext pagedata originally embedded in a signal belonging to a certain channel, orit may indeed simply refer to channel selection, irrespective of whetherthe channel is selected for viewing teletext or normal programming.

In the embodiment detailed as an example here, the time stampinformation reflects a most recent time of transfer in a pre-determineddirection of the teletext page data representing the page across aninterface of the memory unit. This may be the most recent time oftransfer from the teletext data acquisition unit 6 to the teletext pagedata cache 21. Preferably, however, the information reflects a mostrecent time of transfer from the teletext page data cache 21 to theteletext memory 20. This namely is information indicative of the mostrecent access to the teletext page by a viewer. Thus, pages that areaccessed by a viewer receive a time stamp reflecting the time of access.Pages that are never read from the teletext page data cache 21 retain atime stamp with value zero.

It is noted that an alternative embodiment to that described is alsopossible. In this alternative embodiment, information enablingestablishment of a ranking of all of the pages encoded by teletext pagedata stored in the memory unit, based on a most recent time of transferin a pre-determined direction of the teletext page data representingeach page across an interface of the memory unit, is compiled withoutthe use of time stamps. Instead, a list of pages or page numbers iscreated and stored. Whenever a page is used, i.e. transferred from theteletext page data cache 21 to the teletext memory 20, it or its numberis placed at the top of the list. A new page or page number added to thelist will move down all other entries on the list by one position. If apage already exists in the list, i.e. page data representing it isalready stored in the teletext page data cache 21, it or its page numberis moved from its present position to the top of the list, causing partof the entries on the list to move down.

Another type of usage statistic that is employed in the exemplaryembodiment detailed here, is illustrated in FIG. 2. The third column 15of the channel list 12 comprises information representative of how oftenthe channel referred to in the first column 13 of the channel list 12has been selected. The information may be updated each time a selectioncommand is passed to the tuner 3, regardless of whether teletext isbeing used or not. In a more refined embodiment, the entries in thetable are only updated when the channel is selected for viewing teletextpages transmitted on the channel. In order to avoid having to use alarge-sized memory for storing the channel list 12, all entries in thethird column 15 are renumbered from zero, while maintaining the order ofsequence number contained therein. Thus, the ranking is a relativeranking, reflecting the frequency of selection of each channel relativeto the other channels. Although the information is stored in the thirdcolumn 15 of the channel list 12 in this embodiment, the information mayalso be stored as an additional tag in the teletext page data cache 21.Indeed, the ranking may be more refined, referring to individual pagesbelonging to a channel.

Referring to FIG. 3, the policy for replacing teletext page data in theteletext page data cache 21 with newly arrived teletext page data whenthe teletext page data cache 21 is fall, will now be explained. It isnoted that, due to differing data sizes, teletext page data representingone newly arrived teletext page may replace teletext page datarepresenting several cached teletext pages.

In a first step 25, it is determined that the newly arrived teletextpage data encodes a teletext page not yet contained in teletext pagedata cache 21. The determination can be made by the microcontroller 7,which processes the commands selecting a channel received through theremote control interface circuit 11. It thus knows the channel to whichthe newly arrived page belongs. The page number is encoded in theteletext page data itself, specifically the header, as is known in theart. Using the channel tags 22 and stored teletext page data 23 it canbe ascertained that the newly arrived page has not yet been cached.Obviously, the stored teletext page data 23 can also be used for acomparison to determine whether the stored teletext page data 23 shouldbe replaced by a newer version of the page.

In step 26, it is determined whether there is enough space in theteletext page data cache 21 to store the teletext page data received. Ifthere is, then, in step 27, the received teletext page data istransferred to the teletext page data cache 21 through the tuner 3,demodulation circuit 4 and teletext data acquisition circuit 6. Step 27includes the steps of generating the channel tag 22 and time stampinformation 24 and tagging the newly received teletext page data withthese.

If there is not enough capacity, then the method proceeds to a step 28in which it is determined whether pages with a channel tag 22 referringto a different channel than the one to which the tuner 3 is currentlytuned, are stored in the teletext page data cache 21. If no such pagesare found, then the time stamp information 24 is used to delete theoldest page data in the teletext page data cache 21 belonging to thesame channel as the newly arrived teletext page data (step 29).Specifically, any pages with time stamp zero are deleted first. If noneof these are left, the teletext page data with the least recent timestamp is deleted.

Assuming that pages with a channel tag 22 of a different value are foundin step 28, then the channel list 20 (FIG. 2) is used to determine whichteletext page data the newly arrived teletext page data is to besubstituted for. As an advantageous, optional feature of the methoddescribed here, the channel with the ranking corresponding to the lowestfrequency of access according to the information in the third column 15is selected (step 30). From among the teletext page data belonging tothe selected channel, that with the least recent time stamp is deleted(step 31). Thus, it is ensured that teletext page data originallyembedded in a signal belonging to a viewer's favourite channel isdeleted last. It is noted that, by making a selection among channels inthe step 30 preceding the step 31 in which the time stamp information isanalysed, a time saving is achieved. Searching the time stampinformation 24 is more time consuming, and thanks to the pre-selectioneffectively carried out in step 30, less of it need be searched.

In an alternative embodiment of the invention, not shown in a flowdiagram, a slightly different policy for replacing teletext page datastored in the teletext page data cache 21 is used. In this embodiment,the usage statistics for each channel comprise information enablingestablishment of a ranking of channels according to a most recent timeof selection of each channel.

For this purpose, the third column 15 of the channel list 12 maycomprise information representative of the last time the channelreferred to in the first column 13 of the channel list 12 was selected,instead of information representative of the frequency of access. Theinformation may be updated each time a selection command is passed tothe tuner 3, regardless of whether teletext is being used or not.Alternatively, the order of the entries in the channel list 12 mayreflect the order in which they were last accessed, thus establishing aranking. In one embodiment, the entries in the table reflect only themost recent time the channel was selected for viewing teletext pagestransmitted on the channel. Alternatively, the information may also bestored as an additional tag in the teletext page data cache 21.

In the preferred variant of the embodiment using a ranking according tothe most recent time of selection of a channel, the step 30 in FIG. 3 isnot carried out, but replaced by a step in which the teletext page dataassociated with a channel other than a most recently selected ofchannels associated with teletext page data stored in the teletext pagedata cache 21 is selected. Preferably this is the least recentlyselected of those channels. Subsequently, the page data with the oldesttime stamp may be replaced, or the page data least frequentlytransferred from the teletext page data cache 21. This depends on theparticular implementation. An advantage of using the most recent time ofselection of channels as a basis for a replacement policy, is thatchanging preferences are taken account of more quickly. This could beuseful where several viewers share a television set, in order to preventthe statistics determined by the behaviour of a previous viewer fromoverly affecting the cache replacement policy employed when a new vieweris using the television set.

It should be noted that the above-mentioned embodiment illustratesrather than limits the invention, and that those skilled in the art willbe able to design many alternative embodiments without departing fromthe scope of the appended claims. In the claims, any reference signsplaced between parentheses shall not be construed as limiting the claim.The word “comprising” does not exclude the presence of elements or stepsother than those listed in a claim. The word “a” or “an” preceding anelement does not exclude the presence of a plurality of such elements.The invention can be implemented by means of hardware comprising severaldistinct elements, and by means of a suitably programmed computer. Inthe device claim enumerating several means, several of these means canbe embodied by one and the same item of hardware. The mere fact thatcertain measures are recited in mutually different dependent claims doesnot indicate that a combination of these measures cannot be used toadvantage.

Thus, for example, the method according to the invention may also becarried out by a computer, for example a personal computer, operativelyconnected to a television tuner and teletext data acquisition circuit.The latter may be installed on a tuner card installed in the computer,or in an external tuner, connected to the computer by means of, forexample a USB link. In this setting, the method may be used to managethe caching of teletext page data in a memory circuit of the tuner orthe personal computer, in order to achieve the same advantages as areachieved in the embodiment described in more detail herein above.

1. Method of caching teletext page data in a memory unit (21) of ateletext receiver system, comprising receiving and storing in the memoryunit (21) data representing a sequence of teletext pages embedded in asignal belonging to a first one of a plurality of channels; andsubsequently receiving and storing in the memory unit (21) datarepresenting a sequence of teletext pages embedded in a signal belongingto a further one of the plurality of channels, whilst keeping at leastsome of the previously stored teletext page data stored in the memoryunit (21), wherein for each received teletext page, it is determinedwhether the memory unit (21) has capacity available for storing thereceived teletext page data representing the received teletext page, andfor each stored teletext page, information is stored associating thestored teletext page data representing the page with the channel towhich the signal in which that teletext page data was embedded belongs,characterised by, upon determining that the memory unit has insufficientcapacity, substituting the teletext page data representing the receivedteletext page for teletext page data associated with at least onedifferent channel.
 2. Method according to claim 1, comprising receivinga user-initiated command requesting a desired teletext page, using thestored information associating the teletext page data with a channel tosearch for the teletext page data representing the desired teletext pagein the teletext page data associated with the channel to which thesignal belongs in which teletext page data currently being received wasembedded.
 3. Method according to claim 1, comprising storing information(15;24) reflecting at least one usage statistic for at least eachchannel associated with teletext page data stored in the memory unit(21) and selecting the teletext page data for which the teletext pagedata representing the received teletext page is substituted on the basisof the stored information (15;24) reflecting the usage statistics. 4.Method according to claim 3, comprising updating the at least one usagestatistic whenever teletext page data associated with the channel isread from the memory unit (21).
 5. Method according to claim 3, whereinthe usage statistics comprise information (24) enabling establishment ofa ranking of all of the pages encoded by teletext page data stored inthe memory unit (21), based on a most recent time of transfer in apre-determined direction of the teletext page data representing eachpage across an interface of the memory unit (21).
 6. Method according toclaim 3, wherein the teletext page data is received from an arrangementof a channel selection circuit (3) and a teletext data acquisitioncircuit (6), and the usage statistics for each channel compriseinformation (15) representative of how often the channel has beenselected.
 7. Method according to claim 4, wherein at least part of theteletext page data for which the teletext page data representing thereceived teletext page is substituted is the least recently transferredteletext page data associated with the least often selected channel andselected on the basis of the stored information (15;24) reflecting theusage statistics.
 8. Method according to claim 3, wherein the teletextpage data is received from an arrangement of a channel selection circuit(3) and a teletext data acquisition circuit (6), and the usagestatistics for each channel comprise information enabling establishmentof a ranking of channels according to a most recent time of selection ofeach channel.
 9. Method according to claim 8, wherein at least part ofthe teletext page data for which the teletext page data representing thereceived teletext page is substituted is selected from among teletextpage data stored in the memory unit (21) and associated with a channelother than a most recently selected of the channels associated withteletext page data stored in the memory unit (21), preferably the leastrecently selected.
 10. Teletext receiver system, comprising a controller(7) and a memory unit (21) arranged to receive data representingteletext pages from an arrangement of a channel selection circuit (3)and a teletext data acquisition circuit (6), which teletext receiversystem is arranged to carry out a method according to claim
 1. 11.Television set, comprising a controller (7) and a memory unit (21)arranged to receive data representing teletext pages from an arrangementof a channel selection circuit (3) and a teletext data acquisitioncircuit (6), which teletext receiver system is arranged to carry out amethod according to claim
 1. 12. Computer program, capable, when run ona computer arranged to receive data representing teletext pages from anarrangement of a channel selection circuit (3) and a teletext dataacquisition circuit (6), of enabling the computer to carry out a methodaccording to claim 1.